//
// Classe que representa um aluno
// Autor: Raul Sampaio Correia
// Versão de 20/05/2009
//


class Aluno {

    String nome
    String email
    String endereco
    String cidade = "Campina Grande"
    String estado = "PB"
    String cidadeDeOrigem
    String estadoDeOrigem = "PB"
    String telefone
    String celular
    Float cre
    Date dataDeNascimento
    String deficiencias
    Boolean necessitaAdaptacao

    String toString() {
        return "Aluno: " + nome
    }

    static constraints = {
        endereco(blank:true)
        cidade(blank:true)
        estado(inList:['AC', 'AL', 'AP', 'AM', 'BA', 'CE', 'DF',
            'GO', 'ES', 'MA', 'MT', 'MS', 'MG',
            'PA', 'PB', 'PR', 'PE', 'PI', 'RJ',
            'RN', 'RS', 'RO', 'RR', 'SP', 'SC',
            'SE', 'TO'])
        cidadeDeOrigem(blank:true)
        estadoDeOrigem(inList:['AC', 'AL', 'AP', 'AM', 'BA', 'CE', 'DF',
            'GO', 'ES', 'MA', 'MT', 'MS', 'MG',
            'PA', 'PB', 'PR', 'PE', 'PI', 'RJ',
            'RN', 'RS', 'RO', 'RR', 'SP', 'SC',
            'SE', 'TO'])
        telefone(blank:true)
        celular(blank:true)
        cre(scale:2, blank:true)
        deficiencias(blank:true)
    }

    static hasMany = [disciplinasCursadas:Disciplina,
        disciplinasEmCurso:Disciplina,
        monitorias:Monitoria,
        estagiosExternos:Estagio,
        projetos:Projeto]

}
